note
	description: "Clase que representa un misil."
	author: "Matias Varela y Mariano Rodecker"
	date: "$Date$"
	revision: "$Revision$"

class
	MISIL

	create
		make
	--Atributo de instancia
	feature {}
		objetivo:STRING
	--Constructor
	feature make
		do
		end
	--Comandos
	feature Activar--Metodo que activa un misil.
		local
			--Atributos locales para llevar a cabo una operacion aleatoria.
			r:RANDOM
			t:DATE_TIME
		do
			create r.make
			create t.make_now
			r.set_seed (t.seconds)
			if((r.next_random (t.seconds)\\2)=0) then
				r:=void
				print("El misil no se pudo activar, el material es defectuoso%N")
				r.set_seed (1)
			end
			print("El misil se activo correctamente%N")
		end
	feature Fijar_Blanco(Obj:STRING)--Metodo que fija el objetivo a atacar, el codigo del mismo es pasado por parametro.
		local
			--Atributos locales para llevar a cabo una operacion aleatoria.
			r:RANDOM
			t:DATE_TIME
		do
			create r.make
			create t.make_now
			r.set_seed (t.seconds)
			if((r.next_random (t.seconds)\\2)=0) then
				r:=void
				print("No se pudo fijar el blanco, la memoria del misil esta defectuosa%N")
				r.set_seed (1)
			end
			objetivo:=Obj
			print("El objetivo se establecio correctamente%N")
		end
	feature Despegar--Metodo que hace que el misil despegue.
		local
			--Atributos locales para llevar a cabo una operacion aleatoria.
			r:RANDOM
			t:DATE_TIME
		do
			create r.make
			create t.make_now
			r.set_seed (t.seconds)
			if((r.next_random (t.seconds)\\2)=0) then
				r:=void
				print("El misil no pudo despegar, no hay suficiente combustible%N")
				r.set_seed (1)
			end
			print("El misil despego correctamente%N")
		end

end
